package cn.seaboot.admin.user.bean;


import io.swagger.v3.oas.annotations.media.Schema;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * POJO
 * 系统权限 [t_sys_perm]
 *
 * @author Mr.css on  2019-03-25 11:40
 */
@Schema(description = "系统权限 [t_sys_perm] 实体类")
public class Permit implements Serializable {
    private static final long serialVersionUID = 7610440218006272428L;

    /**
     * 权限编码(逻辑)
     */
    @Size(max = 64)
    @Schema(description = "权限编码(逻辑)")
    private String authorityCode;
    /**
     * ID
     */
    @NotNull()
    @Schema(description = "ID")
    private String id;
    /**
     * 父级ID
     */
    @Schema(description = "父级ID")
    private String pid;
    /**
     * 路径
     */
    @Size(max = 64)
    @Schema(description = "路径")
    private String path;
    /**
     * 层级
     */
    @Schema(description = "层级")
    private Integer level;
    /**
     * 权限类型
     */
    @Schema(description = "权限类型")
    private Integer type;
    /**
     * 权限名称
     */
    @Size(max = 32)
    @Schema(description = "权限名称")
    private String label;
    /**
     * 权限描述
     */
    @Size(max = 64)
    @Schema(description = "权限描述")
    private String description;

    public String getAuthorityCode() {
        return authorityCode;
    }

    public void setAuthorityCode(String authorityCode) {
        this.authorityCode = authorityCode;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getPid() {
        return pid;
    }

    public void setPid(String pid) {
        this.pid = pid;
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    @Override
    public String toString() {
        return "Permit{" +
                "authorityCode='" + authorityCode + '\'' +
                ", id='" + id + '\'' +
                ", pid='" + pid + '\'' +
                ", path='" + path + '\'' +
                ", level=" + level +
                ", type=" + type +
                ", label='" + label + '\'' +
                ", description='" + description + '\'' +
                '}';
    }
}
